package com.gxa.jjty.cjr.service;



import com.gxa.jjty.core.exception.BusinessException;
import com.gxa.jjty.core.pojo.CjrUser;
import com.gxa.jjty.core.service.BaseService;

import java.util.Map;

/**
 * @author NITRO
 */
public interface CjrUserService extends BaseService<CjrUser>{
    /**
     * 登录
     * @param phone
     * @param code
     * @return
     */
    Map<String,String> login(String phone, String code) throws BusinessException;

    /**
     * 通过token查询
     * @param token
     * @return
     */
    CjrUser queryUserByToken(String token);

    /**
     * 登出
     */
    void logout(String phone);

    /**
     * 查询该手机号用户
     * @param phone
     * @return
     */
    CjrUser selectUser(String phone) throws BusinessException;

    /**
     * 修改用户
     * @param user
     */
    void updateUser(CjrUser user);

    /**
     * 查询用户档案
     * @param id 用户id
     * @return 用户档案
     * @throws BusinessException 查询异常
     */
    Map<String,Object> selectById(Long id) throws BusinessException;

    /**
     * 意见反馈
     * @param id 用户id
     * @param content 反馈信息
     * @return 反馈结果
     * @throws BusinessException 反馈异常
     */
    Map<String,Object> feedback (Long id,String content) throws BusinessException;

    /**
     * 消息通知
     * @param id 用户id
     * @return 用户的消息通知
     * @throws BusinessException 查询异常
     */
    Map<String,Object> messageInform(Long id) throws BusinessException;

}
